package core;
import java.awt.Color;
import java.awt.Component;
import java.awt.Shape;
import java.awt.image.BufferedImage;
import java.util.List;

public interface DrawContext {

	public OurGraphics getGraphics();
	
	public Shape getSelectionShape();
	
	public void setSelectionShape(Shape s);
	
	public boolean isChanged();
	
	public void setChanged(boolean b);
	
	public void setAnimationChanged(boolean b);
	
	public boolean hasSelection();
	
	public void setSelection(boolean b);
	
	public Color getBackgroundColor();
	
	public Component getCanvas();
	
	public OurGraphics getAnimationContext();
	
	public BufferedImage getImage();
	
	public void addObject2d(Object2D obj);
	
	public void removeObject2d(Object2D obj);
	
	public void addAnimatedObject2d(Object2D obj);
	
	public void removeAnimatedObject2d(Object2D obj);
	
	public List<Object2D> getObjects();
	
	public VectorialSelectionTree getVectorialSelectionTree();
	
	public void addToSelection(VectorialObject obj);
	
	public void clearSelection();
	
	public List<VectorialObject> getSelection();
	
	public Clip getClip();
	
}
